什么是文件屏蔽
文件屏蔽是文件服务器中的重要功能,部署文件服务器之后,即可使用该功能限制用户向文件服务器写入的文件类型。任何用户将限制类型的文件写入目标文件夹时,将出现“目标文件夹访问被拒绝”被拒绝信息。文件屏蔽的主要目的,是限制非法授权文件写入定义的文件夹。文件屏蔽还可以大大解决文件上传漏洞造成的影响,从而防御文件上传漏洞。文件屏蔽是文件服务器的可选功能之一,用户可以根据需求选择安装。
预防文件上传攻击方法有以下这些:
文件上传的目录设置为不可执行:最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的’x’权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性。
判断文件类型:在判断文件类型时,可以结合使用MIME Type、后缀检查等方式。在文件类型检查中,强烈推荐白名单方式,黑名单的方式已经无数次被证明是不可靠的。此外,对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的HTML代码
使用随机数改写文件名和文件路径:文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。如果应用了随机数改写了文件名和路径,将极大地增加攻击的成本。再来就是像shell.php.rar.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击。
单独设置文件服务器的域名:由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决
定期进行漏洞扫描:定期对服务器进行安全漏洞扫描,及时发现服务器内部存在的漏洞,并将这些漏洞进行修补,防止攻击者利用这些漏洞实施攻击。